1. Field of the Invention
This invention relates generally to visual programming systems and the conversion of such systems to intermediate or executable code. More particularly, this invention relates to a cause effect matrix format used to analyze functions in programming systems which is then used to generate other visual program elements such as Functional Block Diagrams, Structured Text or Ladder logic which is compiled into executable code.
2. Description of the Related Art
Cause effect matrix (CEM) diagrams have been prepared for many years, and are used to develop a logic system which is placed into a cause and effect diagram in a readable matrix format. Software programs have been developed to evaluate functional block diagrams and generate cause and effect diagrams for audit purposes. Most notable of these is the Trebelex Program which operates under Microsoft Word""s DOS system. Trebelex is a manual diagramming tool that is primarily used to translate product logic to a paper format to provide to a vendor for creation of the system or for audit purposes. These technologies audit the functional block in order to conduct a hazardous operation review of the underlying control system. The logic diagrams as shown in the paper CEM diagram are also used as a specification to edit or implement the control system. The logic diagrams as shown in the paper CEM diagram are also used as a specification to edit or implement the control program in a Function Block diagram, Structured Text or Ladder Logic or other programming development language well-known in the art.
The instant invention is a visual programming system which permits the user to define a cause effect matrix which is then converted into a complete function block diagram which is then compiled as known in the art.
As noted above, CEM is a commonly used documentation methodology which allows the logical association of a problem in process with one or more actions that must be taken to correct the problem. The problem is identified as a cause and the action is known as an effect. In a typical CEM, a cause is represented by a row in the matrix and an effect is represented by a column. While any arrangement may be used, it is this arrangement that is commonly used as the documentation for a safety system. The cause effect matrix is used to identify the program logic which is to be implemented by a programmer into either a functional block diagram, a ladder diagram or other intermediate code systems.
The instant invention generates a cause effect matrix diagram to create a control program through utilizing the cause effect matrix as a user interface input device. The completed cause effect matrix is then converted to functional block diagram code which is a standard IEC 1131-3 language and downloaded into the safety controllers after being compiled into executable code for the target control system programmable processor or programmable controller. The instant invention changes the cause effect matrix diagram from a documentation and audit tool to a visual programming interface. In fact, the function block diagram is converted to structured text which is compiled into an intermediate code and then is compiled into the native executable code for the Motorola processor MPC-860. The automation of the CEM to functional block elements permits additional capability by allowing up to 9 different actions based on up to 9 effects and a computational capability at the intersection point of the cause and effect diagram. Because special functions may be included, the result of the particular cause input may be used to generate timing considerations or other computations before initiating the effect.
As noted above, the CEM is a traditional methodology used throughout the process control industry to define emergency shut down (ESD) strategies. Once this system is defined, the CEM is used by a safety engineer as a specification for implementing an ESD program in Function Block Diagram (FBD), Structured Text (ST) or Ladder Diagram (LD) languages. However, this method is time consuming and subject to errors caused by misinterpretation of CEM which serves as the specification or inaccurate coding between that which is specified by the CEM and implementation into FBD program or an LD language. The instant invention is implemented on a personal computer having memory and storage medium and the system developed is ultimately downloaded to a separate safety system upon compilation of the code. The CEM system is a program development system which allows a safety engineer to define a CEM and to automatically generate a FBD program from the CEM as defined and to test the result. The features of the instant invention include: invocation of predefined and user defined functions and function blocks for evaluation of cause and effect data; the ability to utilize up to 99 cause rows and 99 effect columns and a maximum of 1,000 active intersections in the cause effect matrix; the use of the FBD as an intermediate language and the use of the CEM program instances in conjunction with FBD or LD program instances; instant view monitoring with active causes, intersections and effects; and the ability to designate or name specific sets of causes and effects in different views.